DBCP object created 日期 by the following code was never closed: |
您所在的位置:网站首页 › dbcp object create never close › DBCP object created 日期 by the following code was never closed: |
DBCP object created 日期 by the following code was never closed:
最後更新:2014-10-27
來源:互聯網
上載者:User
創建阿里雲帳戶,並獲得超過 40 款產品的免費試用版;而企業帳戶則可以享有總值 $1200 的免費試用版。立即註冊!
標籤:io os 使用 java for sp 檔案 資料 on 1、分析 看到標題 DBCP 首先想到的肯定是 資料庫連接池哪方面有問題,那麼先別著急去解決,不要一股腦就鑽進邏輯代碼中,然後啟用調試就開始一步一步 的分析。我們首先要做的就是想,想想資料庫連接池,在項目中是如何?的,那麼不管你或早或晚,都會想到資料庫連接池相關的設定檔和代碼。那麼 問題來了,是否是設定檔配置的有問題(挖掘技術哪家強?)? 那麼先來分析下各項串連池配置的屬性: #回收被遺棄的(一般是忘了釋放的)資料庫連接到串連池中。 dataBase.removeAbandoned =false # 資料庫連接過多長時間不用將被視為被遺棄而收回串連池中。 dataBase.removeAbandonedTimeout = 30 # 將被遺棄的資料庫連接的回收記入日誌。 dataBase.logAbandoned = false #串連池的最大資料庫連接數,設為0 表示無限制。 dataBase.maxActive = 200 #資料庫連接的最大空閑串連數。超過此空閑串連數,,資料庫連接將被標記為不可用,然後被釋放。設為0 表示無限制。 dataBase.maxIdle=40 #最大建立串連等待時間。如果超過此時間將接到異常。設為-1 表示無限制 dataBase.maxWait=10000 #取得、返回對象和空閑時是否進行驗證,檢查對象是否有效,預設都為false即不驗證 dataBase.testOnBorrow=true dataBase.testWhileIdle=true dataBase.testOnReturn=true dataBase.validationQuery=select 1 from dual 說明: 1. #回收被遺棄的(一般是忘了釋放的)資料庫連接到串連池中。 dataBase.removeAbandoned =false 如果這個值為true一般是用來調試的時候用的,正式發布後應該改為false,2. # 將被遺棄的資料庫連接的回收記入日誌。 dataBase.logAbandoned = false 這個如果設定為true就會引起如下錯誤: DBCP object created 日期 by the following code was never closed: java.lang.Exception 3.#串連池的最大資料庫連接數,設為0 表示無限制。 dataBase.maxActive = 200 #資料庫連接的最大空閑時間。超過此空閑時間,資料庫連接將被標記為不可用,然後被釋放。設為0 表示無限制。 dataBase.maxIdle=40 會有可能出現:Cannot get a connection, pool error Timeout waiting for idle object這樣的錯誤 (轉載網上資料)
2、深入 不小心暴露的解決方案,那麼 到底是為什麼呢? 原因是:dataBase.removeAbandoned = true 設定為true以後,使用這個配置將會使用AbandonedObjectPool,同時上方也提到過,此配置只建議在開發階段使用 因為,AbandonedObjectPool能幫你發現佔用串連過長的代碼,比如LOG資訊,說明getCustomerOnline佔用串連的時間 超過了removeAbandonedTimeout設定的時間,所以設定dataBase.removeAbandoned = false就行了, AbandonedObjectPool只在開發使用,在後續的版本會去掉,並且現在的API都棄用(不贊成)了,因此在使用此 功能的時候多多注意。
DBCP object created 日期 by the following code was never closed: 本文章原先以中文撰寫並發佈於 aliyun.com,亦設英文版本,僅作資訊用途。本網站不對文章的準確性,完整性或可靠性或其任何翻譯作出任何明示或暗示的陳述或保證。如對該文章有任何疑慮或投訴,請傳送電郵至 [email protected] 並提供相關疑慮或投訴的詳細說明。職員會於 5 個工作天內與您聯絡,一經驗證之後,即會刪除該侵權內容。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |